This application relates generally to computer applications and systems. In particular, the invention is related to search engines.
Search engines such as google.com work by returning a ranked list of pages in response to a query submitted by a user. A key component of search engines such as that provided by Google is the ranking algorithm, which is an algorithm that, given all the pages that match a user query, presents these pages by relevance. In operation, on submission of a query by a user, the search engine searches its database of indexed pages for pages that match the query. It then organizes the matches by order of relevance using the ranking algorithm, and returns the results to the user in the form of one or more web pages.
Despite the advantages of incorporating a ranking algorithm in a search engine, ranking algorithms can also be a weakness. Since ranking algorithms are very mechanical in nature, they are not particularly good at guessing what a user may mean by the few keywords entered into a query. In other words, the ranking algorithm does not know the context of the user's query, and, as a consequence, may in some circumstances provide sub-optimal ranking of some queries.
Enhancing the ranking algorithm has a natural limit. The search engine has to reply solely on the query expression and the content of the pages for ranking pages. For example, it is not possible for a search engine to determine if the results for the search “Paris Hilton” should rank first pages about the person named Paris Hilton, or about the Hilton hotel in Paris.